BUG: make CustomBusinessDay respect provided calendar; require numpy.… #62851
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
doc/source/whatsnew/v3.0.0.rst
file if fixing a bug or adding a new feature.Description
This PR fixes a bug in
CustomBusinessDay
where the calendar parameter validation was not properly enforced, allowing invalid calendar objects (likepandas_market_calendars
objects) to be passed without raising appropriate errors.Problem
The issue reported that
CustomBusinessDay
was not properly respecting calendar holiday dates when usingpandas_market_calendars
. The root cause was that the validation logic in_get_calendar()
function was not properly checking for invalid calendar types before attempting to use them.Solution
Added proper validation in the
_get_calendar()
function to:numpy.busdaycalendar
instanceTypeError
with helpful error message whenpandas_market_calendars
objects are passed.holidays()
result instead)Changes Made
_get_calendar()
function inpandas/_libs/tslibs/offsets.pyx
to validate calendar parameter typepandas_market_calendars
objects with clear error messagetest_custom_business_day.py
to verify the validation behaviorTesting
test_calendar_validation()
to verify proper error handlingImpact
This is a bug fix that improves error handling and provides clearer guidance to users about proper calendar usage. It does not change the behavior for valid inputs but provides better error messages for invalid usage patterns.